define(["jquery","bbcare","echarts","migrate_jqprint","jqprint","as/app/assessComm/assessComm","as/app/cnbsr/cnbsrHistoryRecord.servers","as/app/cnbsr/cnbsrHistoryRecord.ui"],
    function ($,$bb,echarts,migrate,$print,$assessComm,$servers,$ui) {
    var cnbsrHistoryRecord = {}, info = {};

    /**
     * 条形统计图
     */
    var resultChart = function(data){
        var myChart = echarts.init(document.getElementById('cnbsrChart'));
        var option = {
            title : { text: '小儿神经心理测验评估结果' },
            tooltip : { trigger: 'axis' },
            calculable : true,
            grid: {
                left: '2%',
                right: '2%',
                bottom: '3%',
                containLabel: true
            },
            xAxis : [{
                axisLabel:{
                    textStyle:{
                        fontSize:16
                    }
                },
                type : 'category',
                data : ['大运动','精细运动','适应能力','语言','社交行为','总发育商']
            }],
            yAxis : {
                axisLabel:{
                    textStyle:{
                        fontSize:20
                    }
                },
                type: 'value',
                min:0
            },
            series : [{
                name:'评分',
                type:'bar',
                barWidth : 50,
                hoverAnimation:false,
                animation: false,
                itemStyle: {
                    normal: {
                        label: {
                            show: true,
                            position: 'top',
                            formatter: '{c}',
                            textStyle:{
                                fontSize:20
                            }
                        },
                        color:function (params){
                            var colorList = ['#f9b37b','#7dceae','#5cacb7','#bec069','#70ba75','#bCCC2B'];
                            return colorList[params.dataIndex];
                        }
                    }
                },
                data:[data.sportsScore,data.fineActionScore,data.adaptabilityScore,data.languageScore,data.personalScore,data.score]
            }]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
        $("#cnbsrChart-print").html('<img src="' + myChart.getDataURL() + '" style="width: 100%;height: 300px;background:#fff; "/>').css('display:','block');
    }

    /**
     * 打印报告
     */
    var onPrintReport = function(){
        var params = $(this).data("params");
        var $pc = $(params.dom);
        $pc.jqprint({
            debug: false, //如果是true则可以显示iframe查看效果（iframe默认高和宽都很小，可以再源码中调大），默认是false
            importCSS: true, //true表示引进原来的页面的css，默认是true。（如果是true，先会找$("link[media=print]")，若没有会去找$("link")中的css文件）
            printContainer: true, //表示如果原来选择的对象必须被纳入打印（注意：设置为false可能会打破你的CSS规则）。
            operaSupport: true//表示如果插件也必须支持歌opera浏览器，在这种情况下，它提供了建立一个临时的打印选项卡。默认是true
        });
        return;
    };

    /**
     * 请求评估详情成功后的回调函数
     */
    var ajaxRecordDetailCallBack = function(data,params){
    	info = $servers.handleInfo(info);
        data = $servers.countScore(data,info); // 计算出总发育商
        // 基本信息
        $ui.info({
            "id":"cnbsrInfo",
            "info":info
        });
        resultChart(data);
        // 打印的内容
        $ui.infoPrint({
        	"id":"cnbsrInfo-print",
            "info":info,
            "data":data
        });
        $ui.result({
        	"id":"cnbsrResult-print",
            "data":data
        });
        // 打印
        if( $(".cnbsrHistoryRecord-wrap").parents(".assess-wrap").length == 0 ){
            var topbars = [
                {
                    "icon":"fa fa-print",
                    "name":"打印报告",
                    "callback":onPrintReport,
                    "params":{"dom":"#printContent"}
                }
            ];
            $bb.toolbar(topbars);
        }
    }

	/**
     * 选择记录
     */
    var onRecordSelect = function(){
        $(this).addClass("active").siblings().removeClass("active");
        var data = $(this).data("data");
        var index = $(this).index();
        var currData = data.list[index];
        $assessComm.servers.ajaxRecordDetail(currData,ajaxRecordDetailCallBack);
    }

    /**
     * 请求患者信息成功后的回调函数
     */
    var ajaxUserMassageCallBack = function(data,params){
    	$.extend(info,data);
    	$("#cnbsrHistory li").unbind("click");
        $("#cnbsrHistory li").data("data",{"list":params.list});
        $("#cnbsrHistory li").click(onRecordSelect);
        var index = $assessComm.servers.getRecordIndex(params.list,params);
        $("#cnbsrHistory li").eq(index).click();
    }

    /**
     * 查询用户评估信息成功后的回调函数
     */
    var ajaxRecordlistCallBack = function(data,params){
        var list = $assessComm.servers.handleHistoryData(data.rows);
        $ui.historyList({
            "id":"cnbsrHistory",
            "list":data.rows,
        });
        $.extend(params,{"list":list});
        $assessComm.servers.ajaxUserMassage(params,ajaxUserMassageCallBack);
    }

	cnbsrHistoryRecord.init = function(){
		var params = $bb.getPageParams();
		if( !params.evaluationType ) params.evaluationType = "Neuropsychology";
        if( $(".cnbsrHistoryRecord-wrap").parents(".assess-wrap").length > 0 ){
            $("#cnbsrHistoryRecord").hide();
            $(".cnbsrHistoryRecord-wrap > div:nth-child(1)").css({"width":"100%"});
        }
        $assessComm.servers.ajaxRecordlist(params,ajaxRecordlistCallBack);
	}

    return cnbsrHistoryRecord;
});